#!/usr/bin/env python
# -*- coding:utf-8 -*-

import pygal
from die import Die

# 1.1 掷骰子
"""
# 使用这个类来创建图表前,先来掷D6骰子,将结果打印出来.

# 创建一个D6
die = Die() #创建了一个Die实例,其面数为默认值6.

# 掷几次骰子,并将结果存储在一个列表中
results = []

# 掷骰子100次,并将每次的结果都存储在列表results中.
for roll_num in range(100):
    result = die.roll()
    results.append(result)

print(results)
"""



# 1.2 分析结果
# 为分析掷一个D6骰子的结果,计算每个点数出现的次数
"""
die = Die() #创建了一个Die实例,其面数为默认值6.

# 掷几次骰子,并将结果存储在一个列表中.
results = []
for roll_num in range(1000): # 将模拟掷骰子的次数增加到1000.
    result = die.roll()
    results.append(result)

# 分析结果
frequencies = []
for value in range(1,die.num_sides+1): # 遍历可能的点数.
    frequency = results.count(value) # 计算每种点数在results中出现了多少次.
    frequencies.append(frequency) # 并将这个值附加到列表frequencies的末尾.

print(frequencies)
"""




# 1.3 绘制直方图
# 直方图是一种条形图,指出了各种结果出现的频率
"""
die = Die() #创建了一个Die实例,其面数为默认值6.

# 掷几次骰子,并将结果存储在一个列表中.
results = []
for roll_num in range(1000): # 将模拟掷骰子的次数增加到1000.
    result = die.roll()
    results.append(result)

# 分析结果
frequencies = []
for value in range(1,die.num_sides+1): # 遍历可能的点数.
    frequency = results.count(value) # 计算每种点数在results中出现了多少次.
    frequencies.append(frequency) # 并将这个值附加到列表frequencies的末尾.


# 对结果进行可视化
hist = pygal.Bar() # 创建了一个实例,并将其存储在hist中.

# 设置hist的属性title. 将掷D6骰子的可能结果用作x轴的标签.
hist.title = "Results of rolling one D6 1000 times."
hist.x_labels = ['1','2','3','4','5','6']
hist.x_title = "Result"
hist.y_title = "Frequency of Result"

# 用add将一系列值添加到图表中.将这个图表渲染为一个SVG文件
hist.add('D6',frequencies)
hist.render_to_file('F:\PythonProject\AI\modules\matplotlibmodules\die_visual.svg')
"""
